package com.example.my.http;

import com.example.my.bean.GetModuleBean;
import com.example.my.bean.LoginBeanForUrl;
import com.example.my.bean.Translation;
import com.example.my.bean.WanAndroidMainDataListBean;

import io.reactivex.Observable;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.adapter.rxjava2.Result;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;

/**
 * Created by  wsl
 * on 2019/11/27 14:09
 * http api接口
 */
public interface HttpService {
    //    public static final String BASE_URL_FOR_SERVICE = "http://qzfu.zd.119xiehui.com/";
    public static final String BASE_URL_FOR_SERVICE = "https://www.wanandroid.com/";


    public static final String GET_MODULE_DATA = "http://lfjic.test.119xiehui.com/";

    @FormUrlEncoded
    @POST("api/BasicConfig/GetAllListLocation")
    Observable<LoginBeanForUrl> loginForService(@Field("LoginName") String userName, @Field("LoginPwd") String password);

    @GET("APIFiles/phone/sign.json")
    Observable<GetModuleBean> getModule();


    @GET("ajax.php?a=fy&f=auto&t=auto&w=hi%20world")
    Observable<Translation> getCall();
    // 注解里传入 网络请求 的部分URL地址
    // Retrofit把网络请求的URL分成了两部分：一部分放在Retrofit对象里，另一部分放在网络请求接口里
    // 如果接口里的url是一个完整的网址，那么放在Retrofit对象里的URL可以忽略
    // 采用Observable<...>接口
    // getCall()是接受网络请求数据的方法

    @GET("article/list/{id}/json")
    Observable<WanAndroidMainDataListBean> getMainDataList(@Path("id") int id);

    /**
     * https://www.baidu.com/img
     * @return
     */
    @GET("/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png")
    Observable<ResponseBody> getImage();
}
